package com.yesep.learn.design.behavioral.interpreter.calculator;

public class FunctionCallExpression implements IExpression {
    private final String functionName;
    private final IExpression argument;

    public FunctionCallExpression(String functionName, IExpression argument) {
        this.functionName = functionName;
        this.argument = argument;
    }

    @Override
    public double interpret(Context context) {
        return context.callFunction(functionName, argument.interpret(context));
    }
}